home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / astral / a1 / game / wire004.doc < prev   
Text File  |  1994-01-07  |  5KB  |  182 lines

  1. =============================================================================
  2.  
  3. FM-TOWNS ワイヤーフレーム3Dパッケージ
  4.  
  5.     バージョン 0.04
  6.  
  7. ファイル名:
  8.  WIRE3D_C.OBJ
  9.  LINE.OBJ
  10.  CLEAR.OBJ
  11.  SPACE.OBJ
  12.  STAR.OBJ
  13.  その他ソースファイル,サンプルプログラム等
  14.  
  15. 対応機種:
  16.  FM-TOWNSシリーズ
  17.  (動作確認:FM-TOWNS 20F)
  18.  
  19. 作者:
  20.   BBS00193 Private Net
  21.   PON454   PON-NET
  22.   OTK00004 いちたくNET
  23.   #220     PANIX3
  24.   だるま(伊藤 孝)
  25.   東海高校電波科学研究部マイコン班所属
  26.  
  27. =============================================================================
  28.  
  29. 前にUPしたものは様々なバグのために、とても実用に耐えるものではありませんで
  30. したが、今度こそは大丈夫です。(本当かな~?(^^;))
  31.  
  32.  
  33. ● プログラムの内容
  34.  
  35. ワイヤーフレームによる、3次元空間の表示プログラムです。
  36. 物体データと空間データ、視点データを別々に持っているので、何も小細工なしで自
  37. 由な空間を表現できます。
  38.  
  39.  
  40. ● 使用方法
  41.  
  42. このプログラムはサブルーチンの集まりですので、そのままでは動きません。
  43. あなたのプログラムに組み込んで使ってください。
  44. 組み込み方は、
  45.  ソースに"#include "wire3d.h"の一行を追加
  46.  リンク時に4つのオブジェクトも併せてリンクする
  47. です。
  48.  
  49. また、Cの部分はソースのままですので、
  50.  
  51.  RUN386 HCD386P ファイル名
  52.  
  53. としてコンパイルしてください。オプションはいりません。
  54.  
  55. また、このプログラムは256*512,32768色のモード専用です。
  56. 画面を初期化していないので、自前でやってください。
  57.  
  58. では、詳しい使い方を説明しましょう。
  59.  
  60. まずはグローバル変数の設定です。
  61.  
  62. WIRE_SPACE Space[空間上の最大物体数]
  63.  どの位置にどの物体があって、どちらを向いているか を定義します。
  64.  
  65. WIRE_OBJECT Object[定義する物体数]
  66.  物体の形を定義します
  67.  
  68. SCREEN_LOCATE Screen[空間上の最大物体数]
  69.  物体の画面上での座標が入ります
  70.  
  71. という3つのグローバル変数の定義が必要です。
  72. それぞれの内容は、ヘッダファイルやサンプルを見れば分かると思います。
  73. また、大きさ3の配列は(Angle[3],Locate[3]など)
  74.  [0]=x
  75.  [1]=y
  76.  [2]=z
  77. を表しています。
  78. ちなみに、角度は 0-359 ではなく 0-255 ですので、お間違えのないよう。
  79.  
  80. 定義した物体の表示は、
  81.  
  82. wirespace(視点の角度,視点の位置,空間上にある物体の数,表示ページ);
  83.  
  84. で行います。
  85. ここで注意してほしいのは、表示ページは画面レイアのことではないということです。
  86. 具体的には、
  87.  
  88. レイア0 +--------+ 0
  89.      |   0   |
  90.      |        |
  91.      +--------+ 256
  92.      |   1   |
  93.      |        |
  94.      +--------+ 511
  95.      0        255
  96.  
  97. レイア1 +--------+ 0
  98.      |   2   |
  99.      |        |
  100.      +--------+ 256
  101.      |   3   |
  102.      |        |
  103.      +--------+ 511
  104.      0        255
  105.  
  106. というふうになっています。
  107. これは使用したラインルーチンの仕様です。
  108.  
  109. また、画面の消去は行っていないので
  110.  
  111. clear_screen(ページ);
  112.  
  113. で消去してください。
  114.  
  115. 他にもいろいろ関数がありますが、説明は省略します(^^;)。
  116.  
  117. あと、ソースやヘッダファイルにも使い方が書いてありますので、そちらも参照して
  118. ください(^^)。
  119.  
  120.  
  121. ● サンプルプログラムについて
  122.  
  123. RUN386 TEST
  124.  
  125. 完全なオートデモです。右クリックで終了です。
  126. またマウスと左クリックで照準移動とレーザー発射が出来ますが、ただのジョークで
  127. すので気にしないでください(^^;)。
  128.  
  129. コナミさん&ナムコさん、ごめんなさいっっっっっ。
  130.  
  131.  
  132. ● 著作権
  133.  
  134. このプログラムの著作権は作者が所持しておりますが、個人使用の範囲内ならば自由
  135. に使用していただいて結構です。
  136. また、今のところ単独での再配布は御遠慮下さい。
  137.  
  138. また、このプログラムで使用しているラインルーチンは、フリーソフトウェアコレク
  139. ション4から転載したもので(◎h!FMグラフィックコマンド集2)、
  140.  
  141.       1.「EAST」がプログラミングしたものであること
  142.       2.◎h!FM '90年4月号(Oh!FM TOWNSの前身)に掲載された
  143.      ものであること
  144.       3.作者の自由転載許可に基づいて転載・配布したものであること
  145.  
  146. を,説明用のテキストに明記すること という条件の下で転載・使用しています。
  147.  
  148. このサブルーチンを組み込んだプログラム(EXPファイル)の配布は自由ですが、
  149. 以上の著作権表示をドキュメントなどに明記してください。特にラインルーチンは私
  150. のものではないので、注意してください。
  151.  
  152.  
  153. ● History
  154.  
  155. バージョン 0.01 第1回UP版(Private Net
  156.  
  157. バージョン 0.02 第2回UP版(Private Net)
  158.     表示の優先順位が狂うバグを修正
  159.     三角関数のテーブルを16ビットから8ビットに変更
  160.     空間の広さを(65536,65536)から(16777216,16777216)に変更
  161.  
  162. バージョン 0.03 第三回UP版(いちたくNet)
  163.     背景(宇宙空間)表示ルーチンを追加
  164.     三角関数のテーブルをcharからintに変更(8ビットのまま)
  165.     空間の広さを変更。(前回はバグで変更されていなかった(^^;))
  166.     三次元クリッピングで、手前の消失点を変更可能にした
  167.  
  168. バージョン 0.04 現バージョン
  169.  
  170. ● 終わりに
  171.  
  172. 実はこのサブルーチン集を使用した、「スターブレード」のようなゲームを制作する
  173. 予定です。というか、このサブルーチンはそのために作ったものです。出来たらまた
  174. UPしようと思いますが、一体いつになることやら。
  175.  
  176. それでは質問、バグなどがありましたらメールをお願いします。
  177.  
  178. うーん、もっとしっかりした説明を用意せねば(^^;(^^;(^^;)。
  179. あと、ラインルーチンを自作のものにしないとまずいですね。
  180.  
  181.         -だるま-
  182.